package rkdwogus7.basic;

public class J05_While {

	public static void main(String[] args) {
//		// 반복문 - while
//		// 상황1) 인사말을 한 번 출력
//		System.out.println("선생님~ 사랑해요~");
//		
//		// 상황2) 인사말을 5 번 출력
//		System.out.println("선생님~ 사랑해요~");
//		System.out.println("선생님~ 사랑해요~");
//		System.out.println("선생님~ 사랑해요~");
//		System.out.println("선생님~ 사랑해요~");
//		System.out.println("선생님~ 사랑해요~");
		
		// 상황2b) 간단한 인사말을 5번 출력(while 사용)
		int cnt = 1;	// 반복횟수 기억용 변수
		while (cnt <= 5) {
			System.out.println("선생님~ 사랑해요~");
			// cnt = cnt + 1;
			++cnt;	// 반복횟수 증가
		}
//		
//		// 상황3) 인사말을 100 번 출력		: 장난 아니지?
//		// 게다가 선생님 대신에 다른 인사말을 한다 그러면 골치 많이 아프겠지? 이럴 때 반복문을 사용하는거야.
//		// 상황에 따라 반복 횟수가 정해지지 않는 경우라면? 자 이제 배워보자.
		
		// 상황4) 1-10 까지 출력
		System.out.println("1");
		System.out.println("2");
		System.out.println("3");
		//	... ...
		System.out.println("10");
		int i = 1;					// 3. i라는 변수 선언하고 초기화!(반복에 사용할 값을 변수로 초기화)
		
		while (i <= 10) {					// 1. 일단 while로 만들거니까
			System.out.println( i );	// 2. 반복이 안되는 애들을 변수로!
			++i;								//	4. 반복문에서 나갈 조건을 만들어줘야지.
		}
		
		// 상황5) 1-50사이 홀수 출력
		System.out.println("1");
		System.out.println("3");
		System.out.println("5");
		//	... ...
		System.out.println("49");
		
		int j = 1;
		
		while(j < 50) {
			System.out.println( j );
			j = j + 2;
		}								// 이 경우 반복은 25번
		
		int k = 1;
		
		while(k < 50) {
			if (k % 2 !=0)
			System.out.println( k );
			++k;
		}								// 이 경우 반복은 49번
// 우리는 50번만 하면 됐지만 예를 들어 1부터 1억까지 한다고 치면 실행 횟수에 대한 고려를 많이 해 봐야 하겠지.		
		
		
		// 상황6) 1-100까지의 총합 출력
		// sum = 0;
		// System.out.println( sum = sum + 1 );
		// System.out.println( sum = sum + 2 );
		// System.out.println( sum = sum + 3 );
		// System.out.println( sum = sum + 4 );
		//	... ...
		// System.out.println( sum = sum + 100 );
		
		int sum = 0;	// 총합 저장용 변수
		int l = 1;		
		
		while(l <= 100) {
			// System.out.println( sum = sum + l );	// 이건 찍을 때 마다 출력이 되지?
			sum = sum + l;
			++l;
			
		}
		System.out.println( sum );
		
//		int l = 1;
//		int sum = 0; 
//		
//		while (l <= 100) {
//			sum += l;
//			System.out.println( sum );
//			++l;
// 요건 내가 한거.			
//		}
		
		// 상황7) 100부터 1까지 출력
		int m = 100;
		
		while(m >= 1) {
			System.out.println( m );
			--m;
		}
		
		//  상황8) 100부터 1까지 짝수 출력
		int n = 100;
		
		while(n >= 1) {
			System.out.println( n );
			n = n - 2;
		}
		
		// 상황9) 구구단 중 7단 출력
		// 7 x 1 = 7
		// 7 x 2 = 14
		// 7 x 3 = 21
		//	... ...
		// 7 x 9 = 63
		int o = 1;
		
		while(o <= 9) {
			System.out.println( "7 x " + o + " = " + (7 * o) );
			++o;
		}
//		int o = 1;
//		int sum2 = 0;
//		
//		while (o <= 9) {
//			sum2 = 7 * o;
//			System.out.println(7 + " * " + o + " =" + sum2 );
//			++o;
//		}
		
		// 상황9b) 십구단 중 18단 출력
		int p = 0;
		
		while(++p <= 19) {
			System.out.println("18 x " + p  + " = " + ( 18 * p ));
		}
		
		// while 작성규칙
		// 초기화 식	        : 반복에 사용할 변수
		// while( 조건식 ) {	:	반복횟수 지정
			// 반복할 코드
			// 증가식               : 조건식을 거짓으로 만듦
		// }

		
	}

}




